Assembly প্রোগ্রাম তৈরি এবং কার্যকর করার প্রক্রিয়া (build এবং execution) বেশ কয়েকটি ধাপের মাধ্যমে সম্পন্ন হয়। এই প্রক্রিয়ায় মূলত Assembly কোড লেখা, অ্যাসেম্বলার দিয়ে মেশিন কোডে অনুবাদ করা, লিঙ্কার ব্যবহার করে প্রোগ্রাম লিঙ্ক করা এবং অবশেষে এক্সিকিউট করা অন্তর্ভুক্ত। নিচে এই পুরো প্রক্রিয়াটি বিস্তারিতভাবে ব্যাখ্যা করা হলো:
১. Assembly কোড লেখা:
প্রথম ধাপ হলো Assembly প্রোগ্রাম লেখা। এটি .asm এক্সটেনশনসহ একটি টেক্সট ফাইল হিসাবে সংরক্ষণ করা হয়। প্রোগ্রামটি একটি টেক্সট এডিটরে লেখা হয় এবং সাধারণত নিম্নলিখিত গঠন থাকে:
section .data
msg db 'Hello, World!', 0
section .text
global _start
_start:
; সিস্টেম কলের মাধ্যমে মেসেজ প্রিন্ট করা
mov eax, 4 ; sys_write
mov ebx, 1 ; ফাইল ডিসক্রিপ্টর (stdout)
mov ecx, msg ; মেসেজ অ্যাড্রেস
mov edx, 13 ; মেসেজের দৈর্ঘ্য
int 0x80 ; সিস্টেম কল
; প্রোগ্রাম শেষ
mov eax, 1 ; sys_exit
xor ebx, ebx ; এক্সিট কোড 0
int 0x80 ; সিস্টেম কল২. Assembly কোড অ্যাসেম্বলার দিয়ে অনুবাদ করা:
Assembly কোডকে মেশিন কোডে অনুবাদ করার জন্য একটি অ্যাসেম্বলার প্রয়োজন। NASM (Netwide Assembler), MASM (Microsoft Assembler) এবং GAS (GNU Assembler) হল জনপ্রিয় অ্যাসেম্বলার।
কমান্ড:
nasm -f elf64 program.asm -o program.oউপরে -f elf64 ফরম্যাট নির্দিষ্ট করে ৬৪-বিট ELF আউটপুট জেনারেট করার জন্য। program.o হলো আউটপুট অবজেক্ট ফাইল।
৩. লিঙ্কিং (Linking):
অ্যাসেম্বলার অবজেক্ট ফাইল তৈরি করার পর লিঙ্কার ব্যবহার করে এটি একটি এক্সিকিউটেবল ফাইলে রূপান্তর করতে হয়। লিঙ্কার প্রোগ্রামের বিভিন্ন অংশকে একত্রিত করে এবং প্রয়োজনীয় লাইব্রেরি লিঙ্ক করে।
কমান্ড:
ld program.o -o programউপরে ld কমান্ড দিয়ে অবজেক্ট ফাইল program.o কে program নামে এক্সিকিউটেবল ফাইলে রূপান্তর করা হয়।
৪. Execution (কার্যকর করা):
এক্সিকিউটেবল ফাইল তৈরি করার পর এটি কমান্ড লাইন বা টার্মিনাল থেকে চালানো যায়।
কমান্ড:
./programউপরে ./program চালানোর মাধ্যমে প্রোগ্রাম কার্যকর করা হয় এবং এর আউটপুট দেখা যায়।
Assembly Program Build এবং Execution Process এর সারসংক্ষেপ:
- Assembly কোড লেখা:
.asmফাইলে Assembly কোড লেখা হয়। - অ্যাসেম্বলার দিয়ে অনুবাদ: Assembly কোডকে মেশিন কোডে রূপান্তরিত করা হয় (
.oফাইলে)। - লিঙ্কিং: অবজেক্ট ফাইলকে লিঙ্ক করে এক্সিকিউটেবল ফাইলে রূপান্তর করা হয়।
- Execution: এক্সিকিউটেবল ফাইল চালিয়ে আউটপুট দেখা হয়।
উপসংহার:
Assembly প্রোগ্রামের Build এবং Execution Process এমন ধাপগুলোর সমন্বয়ে গঠিত, যেখানে কোড লেখা থেকে শুরু করে এক্সিকিউশন পর্যন্ত বিভিন্ন ধাপে প্রোগ্রাম অনুবাদ এবং লিঙ্ক করা হয়। এই প্রক্রিয়া Assembly প্রোগ্রামিংয়ের মৌলিক অংশ এবং এটি হার্ডওয়্যার ও সফটওয়্যার প্রোগ্রামিংয়ের মধ্যে সরাসরি সংযোগ প্রদান করে।
Read more